'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sat Jul 24 18:25:21 1993 by Rik Faith (faith@cs.unc.edu)
.\"
.TH seekdir 3 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
seekdir \- set the position of the next readdir() call in the directory
stream.
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <dirent.h>
.P
.BI "void seekdir(DIR *" dirp ", long " loc );
.fi
.P
.RS -4
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.RE
.P
.BR seekdir ():
.nf
    _XOPEN_SOURCE
        || /* glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
.fi
.SH DESCRIPTION
The
.BR seekdir ()
function sets the location in the directory stream
from which the next
.BR readdir (2)
call will start.
The
.I loc
argument should be a value returned by a previous call to
.BR telldir (3).
.SH RETURN VALUE
The
.BR seekdir ()
function returns no value.
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR seekdir ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, 4.3BSD.
.SH CAVEATS
Up to glibc 2.1.1, the type of the
.I loc
argument was
.IR off_t .
POSIX.1-2001 specifies
.IR long ,
and this is the type used since glibc 2.1.2.
See
.BR telldir (3)
for information on why you should be careful in making any
assumptions about the value in this argument.
.SH SEE ALSO
.BR lseek (2),
.BR closedir (3),
.BR opendir (3),
.BR readdir (3),
.BR rewinddir (3),
.BR scandir (3),
.BR telldir (3)
